
a:focus {
	color: #666;
	outline: none;
}

ul { 
	padding: 0;
	margin: 0; 
}

body {
	background-color: #f2f2f2;
	color: #000;
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 300;
	padding-top: 80px;
	overflow-x: hidden;
}

.tm-sidebar {
	position: fixed;
	width: 360px;
}

.tm-main-nav {
	background-color: white;
	font-size: 1.6667em;
	padding-top: 15px;
	padding-bottom: 10px;
	text-align: center;
}

.tm-nav-item {
	list-style: none;
	width: 100%;
	padding: 15px 30px;
}

.tm-nav-item-link{
	border: 1px solid rgba(0,0,0,0);
	color: #666;
	display: block;
	padding: 10px;
	width: 100%;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.tm-nav-item-link.active,
.tm-nav-item-link:hover {
	color: #666;
	text-decoration: none;
	border: 1px solid #999;
}

.tm-nav-item-link:focus { text-decoration: none; }

.tm-banner-title, 
.tm-section-title, 
.tm-banner-text {
	color: #666;
	font-weight: 300;
	margin-top: 0;
}

.tm-section-title {	margin-bottom: 20px; }

.tm-section-title-box {	margin-bottom: 0; }

.tm-banner-title { 
	font-size: 3.3em;
	letter-spacing: 2px; 
}

.tm-main-content {
	margin-left: 360px;
	padding-left: 30px;
}

.tm-content-box {
	background-color: white;
	margin-bottom: 30px;
}

.pad { padding: 50px; }

.tm-banner {
	height: 370px;
	padding: 30px;
}
	
.tm-banner-inner {
	border: 1px solid #999;
	height: 100%;
	text-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
}
	
.tm-banner-title { text-transform: uppercase; }

.tm-banner-text { font-size: 1.4em; }

.flex-2-col {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.copyrights{
	text-indent:-9999px;
	height:0;
	line-height:0;
	font-size:0;
	overflow:hidden;
}

/*http://stackoverflow.com/questions/29562755/flexbox-ie10-width-issues*/
.flex-item { 
	-webkit-box-flex: 0 1 auto; 
	-webkit-flex: 0 1 auto; 
	    -ms-flex: 0 1 auto; 
	        flex: 0 1 auto;
}

.section-description {
	line-height: 1.8;
	margin-bottom: 25px;
}

.section-description:last-child { margin-bottom: 0; }

.tm-team-description-container { max-width: 500px; }

.box {
	background-color: white;
	list-style: none;
	width: 33.3333%;
	height: auto;
}

.box-bg { position: relative; }

.tm-box-bg-title {
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.boxes {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}

.gallery-container a {
	cursor: -webkit-zoom-in;
	cursor: zoom-in;
}

.carousel {
    position: relative;
    height: auto;
  	padding: 50px 50px 80px 50px;
  	text-align: center;
}

.carousel-indicators { bottom: 30px; }

/*http://codepen.io/matthewhirsch/pen/OPwQRL*/
.carousel-content {
    color:black;
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -webkit-align-items:center;
        -ms-flex-align:center;
            align-items:center;
}

.carousel-indicators li { border: 1px solid #999; }

.carousel-indicators .active { background-color: #999; }

.contact-form {	overflow: hidden; }

.form-control {
	border-radius: 0;
	font-size: 1em;	
}

.form-control:focus {
	border-color: #999;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(153, 153, 153, 0.45);
}

.form-group { margin-bottom: 20px; }

.form-group-2-col-left {
	padding-left: 0;
	padding-right: 5px;
}

.form-group-2-col-right {
	padding-right: 0;
	padding-left: 5px;
}

.submit-btn {
	border-radius: 0;
	background: transparent;
	border: 1px solid #999;
	color: #999;
	float: right;
	font-size: 1.4em;	
	font-weight: 300;
	padding: 15px 60px;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.submit-btn:focus,
.submit-btn:hover,
.submit-btn:visited,
.submit-btn:active,
.submit-btn:active:hover,
.submit-btn:active:focus {
	background: #999;
	border: 1px solid #999;
	color: white;
}

.tm-footer {
	color: #666;
	padding-bottom: 15px;
}

@media (min-width: 1200px){
	.container { max-width: 1170px; }
}

@media screen and (max-width: 1199px) and (min-width: 1140px) {
	.container { width: 1080px; }
	.tm-sidebar { width: 300px; }
	.tm-main-content { margin-left: 300px; }
	.tm-team-description-container { max-width: 330px; }	
}

/*http://stackoverflow.com/questions/11404744/media-queries-max-width-or-max-height*/
@media screen and (max-width: 1139px), screen and (max-height: 834px) {

	body {	padding-top: 100px;	}

	.tm-sidebar {
	    position: fixed;
	    width: 100%;
	    top: 0;
	    left: 0;
	    z-index: 1000;
	}

	.tm-sidebar-image { display: none; }

	.tm-main-nav {
		border-bottom: 1px solid rgba(153, 153, 153, 0.20);
		font-size: 1.1em;
		overflow: hidden;
		padding-top: 0;
		padding-bottom: 0;
	}

	.tm-nav-item {
		float: left;
		padding: 10px;
		width: 25%;
	}

	.tm-main-content {
		margin-left: auto;
		margin-right: auto;
		max-width: 750px;
		padding-left: 0;
	}

	.tm-content-box { margin-left: 0; }
}

@media screen and (max-width: 991px) {
	.tm-team-description-container { max-width: 440px; }
}

@media screen and (max-width: 767px) {
	.form-group-2-col-left,
	.form-group-2-col-right {
		padding-left: 0;
		padding-right: 0;
	}
	.tm-team-description-container { 
		max-width: 296px; 
		width: 50%;
	}
}

@media screen and (max-width: 991px) and (min-width: 780px) {
	.container { width: 780px; }	
}

@media screen and (max-width: 640px) {
	body { padding-top: 30px; }
	.tm-sidebar { display: none; }
}

@media screen and (max-width: 564px) {

	.tm-banner-title { font-size: 2.8em; }
	.tm-banner-text { font-size: 1.2em; }
	
	.flex-2-col {
		-webkit-flex-flow: column;
		    -ms-flex-flow: column;
		        flex-flow: column;
	}

	.tm-section-title-box {	font-size: 1.2em; }

	.pad {
		padding: 30px;
		width: 100%;
	}

	.submit-btn {
		font-size: 1.2em;
		padding: 10px 30px;
	}

}
